项目名称：简约记账
开发工具：IDEA 
项目描述：基于安卓基础知识开发的个人记账工具，其中包括记录当天收支情况，计算当天以及当月的收支总数，能查看历史账单，能对于每个月收支情况进行图标分析，百分比分析
能够搜索用户关于某种记录的全部收支情况等功能，基本上能解决个人记账的所有问题，界面简约美观，滑动流畅
1、绘制布局，掌握android基本的view空间的属性和使用
2、熟练掌握Activity页面的展示，跳转和传值
3、使用碎片化加载界面，滑动视图切换页面
4、自定对话框
5、自定义软键盘的绘制和使用
6、列表视图以及网络视图的适配器使用和页面加载
7、使用android自带的数据库，熟练创建表，并进行增删改查
8、定义drawbel文件，设定布局以及控件样式
9、使用MPAndroidChart第三方框架绘制柱状图

bug记录：
	更早：使用IDEA的时候无法和Androi Studio一样在Project Structure直接搜索并下载使用对应的Library，只能在build gradle中导入
	2021-7-14 17:34——>在日历的时间输入框在软键盘弹出的时候遮住编辑框
		解决：因为DatePicker的头布局隐去代码写错，导致屏幕放不进去，将其改正就好
	2021-7-15 00:07——>DBManager类中，db的rawQuery方法的参数报错
		解决：原来是在建账本表的时候忘记建立month这个字段了，导致查询的时候报错
		注意：在SQLite的命令中占位符使用的是字符串类型
	2021-7-15 09:30——>添加头布局失败，原因是添加头布局的操作要在适配器之前
		解决：要注意，需要添加头布局的View必须先初始化该View的所有控件，在添加需要添加的头布局
		解决前：protected void onCreate(Bundle savedInstanceState) {
					super.onCreate(savedInstanceState);
					setContentView(R.layout.activity_main);
					addLVHeaderView();
					initTime();
					initView();
					mDatas = new ArrayList<>();
					// 添加LIstView的头布局
					// 设置适配器，将每一行数据加载到列表中
					adapter = new AccountAdapter(this, mDatas);
					todayLv.setAdapter(adapter);
				}
		解决后：protected void onCreate(Bundle savedInstanceState) {
					super.onCreate(savedInstanceState);
					setContentView(R.layout.activity_main);
					
					initTime();
					initView();
					mDatas = new ArrayList<>();
					// 添加LIstView的头布局
					addLVHeaderView();
					// 设置适配器，将每一行数据加载到列表中
					adapter = new AccountAdapter(this, mDatas);
					todayLv.setAdapter(adapter);
				}
	2021-7-15 11:26——>在为ListView添加长按删除的时候，点击确定按钮，虽然删除成功，但是出现闪退
		解决：
			MainActivity中的showDeleteItemDialog：在使用list.remove()方法时，传入的参数是 int id;将传入的类型变成AccountBean（即需要被删除的数据类型）
	2021-7-16 12:22——>historyActivity跳转闪退
		解决：在HistoryActivity中，需要将时间的初始化和数据的加载方法放在适配器之后
			  12:31——>在输入支出和收入页面中，输入两次数据以上会闪退且必须卸载重装才行
		解决：未解决，初步判定是华为手机的问题，因为我在原生虚拟机运行并不会出现这种结果。
			  18:18——>在HistoryActivity中，点击日历图标会闪退
		解决：因为在CalendarDialog中，addViewToLayout()方法中，添加布局的时候，在将布局文件转换成View对象后需要先使用addView()方法将View传入对应的View中，再进行初始化和设置
		
	
	掌握：
		1、数据库的模糊查询：
①% ：表示任意0个或多个字符。可匹配任意类型和长度的字符，有些情况下若是中文，请使用两个百分号（%%）表示。
比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'
将会把u_name为“张三”，“张猫三”、“三脚猫”，“唐三藏”等等有“三”的记录全找出来。
另外，如果需要找出u_name中既有“三”又有“猫”的记录，请使用and条件
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'
若使用 SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'
虽然能搜索出“三脚猫”，但不能搜索出符合条件的“张猫三”。
②_ ： 表示任意单个字符。匹配单个任意字符，它常用来限制表达式的字符长度语句：
比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'
只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的；
再比如 SELECT * FROM [user] WHERE u_name LIKE '三__';
只找出“三脚猫”这样name为三个字且第一个字是“三”的；
	2、SharePreferences：
	3、添加头布局步骤：
		①将布局文件转换成View对象
		②将view添加到需要添加的布局中
		
		
		https://blog.csdn.net/zhangphil/article/details/78435502
	
